树莓派4B开机+Python虚拟环境搭建(Miniconda3) |
您所在的位置:网站首页 › 树莓派 自启动服务 › 树莓派4B开机+Python虚拟环境搭建(Miniconda3) |
前言 最近在做个项目,需要用到树莓派开发,购买了一套7英寸IPS显示器,鉴于需要另外接键鼠,且需要占用空间,决定放弃显示器,改用SSH链接。 树莓派中烧录过2020-6月的版本,用 uname -a 命令查看系统为32位: uname -a由于树莓派推出64位系统,好处是内存超过4GB的硬件可以得到充分利用,因此本次下载64位的镜像,重新烧录。 以下为树莓派烧录及Python虚拟环境搭建记录,其中包括遇到的坑,希望将来遇到类似问题有所参考。 树莓派1 树莓派开机树莓派是一台微型计算机,没有继电器电源开关,通电即可开机,USB电源也可以,说明书标定5 V DC 最小额定电流 3 A。 关机命令如下: sudo shutdown -h now由于树莓派没有存放系统的硬盘,需要将系统写入TF卡,当作其硬盘使用。 TF卡可以用SD或USB读卡器插入电脑,进行系统烧录。 2 镜像下载本次烧录为树莓派官方raspbian OS 树莓派官网镜像下载地址: Raspberry Pi OS – Raspberry Pi 官方提供了 Windows macOS 及 Ubuntu 的镜像下载: 树莓派支持的提供很多,做特定功能使用的系统也较多,这里不再赘述,需要时可自行搜索。 3 TF卡烧录第一步,格式化 旧版本的树莓派OS可通过 balenaEtcher 软件进行镜像烧录,烧录前需对TF卡格式化处理,可用 SDFormatter 格式化工具,需要注意盘符: 第二步,烧录 旧版本的树莓派OS可通过 balenaEtcher 软件进行镜像烧录,选择下载好的镜像,选择烧录的盘符,烧录。 旧版本烧录好后,可在烧录好的盘里新建空白ssh文件,wifi配置文件,即可连上wifi,用SSH登录。 新版本的树莓派需要用官方烧录工具进行系统烧录,否则无法联网,新建ssh无法联网。 树莓派官方提供了非常多的镜像选择,可直接下载烧录。我这边选择自定义镜像。 其中第三个步骤很重要,新版OS需要在高级设置选项中对用户名密码、网络等进行设置,以保证树莓派顺利联网。设置主机名,开启SSH服务,设置用户名及密码,配置WIFI,国家CN,开启语言设置,取消启用遥测。 官方工具烧录过程同样包含写入和校验两步,等待烧录完成。 第三步 树莓派开机 烧录好的TF卡弹出,重新插入,进入盘符,用Notepad++打开firstrun.sh文件查看用户名WIFI等配置信息。 确认无误后,TF弹出插入树莓派,通电开机,等待一分钟左右,可在路由器用户列表中看到带有主机名的主机连入,查看IP备用。 这里用Xshell工具登录IP,端口设为22,SSH登录,连接成功输入用户名及密码,登入raspbian系统,查看系统信息。 uname -a为方便后期对文件进行查看,开启VNC服务,Xftp提供文件传输服务,可完成新建复制删除等操作,这一步可忽略。 执行命令: sudo raspi-config键盘选择Interface Options,回车确认。 开启VNC TAB选择Finish,回车退出。 执行重启命令等待开机: sudo rebootVNC可用VNC-Viewer工具查看系统桌面,输入IP地址连接树莓派即可。 初次连入,选择continue。 进入raspbian系统桌面。 树莓派系统内置python,SSH登入树莓派,输入python -V查看python版本为3.9.2。 python -V这里使用anaconda进行虚拟环境搭建 1 miniconda下载首先,下载适合系统的miniconda: wget http://repo.continuum.io/miniconda/Miniconda3-latest-Linux-aarch64.sh安装 Miniconda 基本也属于一键安装的模式,需要注意的是要设置一下安装的路径,具体操作如下: sudo bash Miniconda3-latest-Linux-aarch64.sh接下来根据提示,按 Enter 跳过安装协议(注意别按太快,否则会直接退出) 接下来重点注意,更改默认路径,其默认路径是/root/miniconda3,为了日后使用方便,我们会将安装路径设置成用户目录之下,具体路径/home/pi/miniconda3,设置完路径后,等待安装完成即可。不要乱输入,否则路径会有问题,尤其注意home前的“/”,以及最后没有“/”: 这里遇到问题,提示Illegal instruction "$CONDA_EXEC" constructor --prefix "$PREFIX" --extract-conda-pkgs。被这个问题困扰了很久,最终通过选用较早版本的miniconda解决,其他步骤同上: wget https://repo.anaconda.com/miniconda/Miniconda3-py37_4.9.2-Linux-aarch64.sh输入yes同意初始化,自动配置环境变量: 看到Thank you for installing Miniconda3即安装成功: 注意Miniconda3文件夹为root权限,需要更改为pi用户后使用conda命令(注意:这里可以在安装miniconda时用bash命令即默认为pi用户)。 提示 -bash: vim: command not found,因为linux系统上未安装vim,一般默认的是有vi,之所以选择vim,是因为个人的习惯以及vim的一些功能比较强大。这里我们改为vi: vi ~/.bashrc打开~/.bashrc,在环境变量配置文件最后添加以下语句(如果已经有了就不需要更改了,如果没有打开后输入i, 进入编辑模式,粘贴下面语句,按Esc,并且输入:wq保存并退出): export PATH="/home/pi/miniconda3/bin:"$PATH注意:export后面为两个空格,否则会出现以下错误: -bash: export: `=': not a valid identifier -bash: export: `=/home/pi/Miniconda3/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/games:/usr/games': not a valid identifier配置完成后,更新环境变量: source ~/.bashrc最后,输入conda命令,正常返回,说明conda安装配置成功。 安装完之后可以使用conda命令查看一下,出现-bash: conda: command not found,说明是root超级用户,需要更改到pi用户下。 因为刚才使用 sudo 安装,Miniconda3 的所有者是 root,需要先变更一下文件夹属性,具体操作如下: sudo chown pi:pi -R Miniconda3如果你在pi用户下可以使用conda命令请跳过变更操作,或者如果你并不想更改为pi下,可以使用sudo su命令切换到root下,但是每次你都需要切换会很麻烦。 创建虚拟环境创建自己想要的环境,比如我想要Python3.9,那么输入以下内容,即可创建新的虚拟环境: # -n 即--name 后面的python310是我起的虚拟环境的名字,python=3.9是python的版本 conda create -n python39 python=3.10输入以下命令来激活/切换虚拟环境: conda activate python310在虚拟环境中使用命令conda install your_package即可安装package到your_env_name中。使用conda安装,会自动帮你安装相关的从属包以及cudnn的对应版本。 输入deactivate退出激活: conda deactivate删除虚拟环境: conda remove -n your_env_name(虚拟环境名称) --all删除环境中的某个包: conda remove --name your_env_name package_name注意: 树莓派关机重启后,初次使用conda激活虚拟环境遇到以下问题,需要初始化conda,以实现shell交互: conda功能的关键部分要求它与调用conda的shell直接交互。特别是 "conda activate "和 "conda deactivate "命令是shell级命令。也就是说,它们影响被交互的shell上下文的状态(例如环境变量)。其他核心命令,如`conda create`和`conda install`,也必须与shell环境交互。因此,它们是以每个shell特有的方式来实现的。每个shell都必须进行配置以利用它们。 输入以下指令: conda init --all运行 "conda init "后,shells需要关闭并重新启动以使变化生效,输入以下指令重启树莓派即可: sudo reboot知行合一 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |